As outlined in the Week 01 assignment, I am planning to create a musical box that features a photo-screening function using a projector. This is a project I have been envisioning for a long time, even before I joined the Singapore Polytechnic FabLab team. Personally, I have always loved both music and drawing, which inspired me to design a personalized music box that can display my artwork from my childhood. However, as I began learning the theories and skills required to bring this idea to life, I realized it would be more challenging than I initially thought, mainly due to: 1. My limited background in Electrical and Electronic Engineering, which makes it difficult for me to understand and work with the necessary components and wiring. 2. My uncertainty about which components would be most suitable for my design. Nonetheless, I am grateful for the opportunity to be part of the FabLab team, where I can develop the skills and knowledge needed to "Make (Almost) Anything".
Week 02 - Bill of Material (BOM) + Parametric Design
This week, I began considering the possible components needed to help realize my dream product: o Self-made musical box components. o A mini projector capable of flashing montages or photo slides, along with an accompanying screen. o A 3D-printed or laser-cut enclosure. o Various electronic components to facilitate communication between the musical mechanism and the projector system. After reviewing the list, I realized it would be very challenging to fit all the parts into a tiny egg-shaped shell as initially planned. As a result, I decided to redesign the enclosure into a DIY house-shaped box, providing more internal space to accommodate all the components. To support this, I started familiarizing myself with Fusion 360 for 3D design. I created a simple house structure using parametric design concepts — without setting fixed dimensions yet — which will make future modifications much easier and faster.
Week 03 - Suggestion for Final Project from Colleagues
One afternoon, while having lunch with my colleagues (all of whom have completed the Fab Academy course), they asked about the final projects that my partner, Florimond, and I were working on. When I briefly described my project idea, they showed great interest and offered various suggestions and improvements for different parts of my design. One particularly interesting discussion was about the photo-screening feature. Initially, my plan was to embed a mini projector paired with a magnifying lens to display montages and photos. However, I had a gut feeling that integrating and aligning these components could become quite challenging during the project build. At that point, one of my instructors, Mr. Willie Tay, suggested an alternative: using clear film printed with images, illuminated by a light beam. To make it even more engaging, he proposed mounting the films on a rotating plate. As the music box plays, the plate would rotate at set intervals, allowing different images to be projected onto an external surface through the lens — like this: I realized this idea would be much more practical and manageable than my original plan. I am truly grateful for that lunch discussion with my colleagues, whose input has significantly shaped and improved my final project concept.
Week 04 - DECIDE THE NUMBER OF FUNCTIONS THAT MY FINAL PROJECT NEED TO HAVE
This week, I learned about embedded programming. A key decision I had to make was choosing the microcontroller and the programming platform for my final project. Since I am completely new to this field, I decided to go with a combination that many of my colleagues have recommended and used before — this way, I can focus on mastering it sufficiently to complete my project successfully. Ultimately, I chose to work with the SEEED Xiao RP2040 microcontroller, programmed using Arduino IDE. From here, I needed to carefully plan the number of functions my final project would require, ensuring that the microcontroller would have enough input and output pins available. After discussing with Mr. Steven Chew, we identified three main functions for my final project: o Music playback — Either a traditional mechanical style using a drum and pins or playing music tracks through external media. o Photo-screening function — Using a kids' torch projector (as mentioned in the previous week's plan). o Lighting effects — Either an internal lighting feature, an external one, or possibly both integrated into the final design. With these functions clearly defined, I now have a much clearer and more realistic vision of how my final project will come together.
WEEK 05 – LEARN TO DESIGN PRINT-IN-PLACE HINGE
Ever since I joined the Singapore Polytechnic FabLab, 3D printing has been one of the topics I was most excited to explore. One question that always intrigued me was: "How can a hinge be 3D printed in a single build without requiring any assembly?" It wasn’t until one of my students introduced me to the concept of "Print-in-Place" that I finally understood — what once seemed impossible was actually very much achievable! Since I have yet to finalize the exact size of my musical box, I used this week's learning to better understand the critical details I need to consider for my final project — such as: o The gap between hinges, o The number of hinges needed to properly support the screening panel, o And the structural considerations needed for reliable movement. Additionally, I realized that 3D printing will play an essential role in creating all the miniature models I plan to include inside my musical box — although the final theme is still yet to be decided.
WEEK 06 – MODELLING MY FINAL PROJECT
Although this week’s focus was on electronic design, with my current limited understanding — particularly regarding component usage, interconnectivity, and selecting suitable parts and models for my final project — I decided to shift my efforts towards modelling a simple structure for my project instead. To spark some inspiration for the visual design, I purchased a miniature model kit from my daughter’s art class, which gave me new ideas for how the final project might look. Building this model helped me visualize the potential layout and structure of my final project, and it also gave me a better idea of where and how the necessary electronic components could be integrated to bring the design to life.
WEEK 07 – TRIMMING DOWN THE DESIGN AND FINALIZING THE THEME FOR MY MUSICAL BOX
Since I already knew that my final project would not be something large or complicated, I spent this week refining and simplifying the design ideas to help me finalize the theme I wanted to pursue. I decided to create a miniature bedroom scene inspired by my two daughters — a small, cosy, and heart-warming bedroom that also includes a tribute to my wife, who always stays by their side at night to accompany them to sleep. Here is the draft plan view of my daughters's bedroom. Once the concept was clear, the rest of the planning started to flow more naturally — from the overall design layout to the selection of parts, and even the miniature models that I would 3D print to complete this tiny, personal bedroom project.
WEEK 08 – SKIP FOR A WEEK
This week has been particularly challenging for me, as I focused on preparing to create my own printed circuit board (PCB). Since I’m still struggling with circuit design and hands-on soldering skills, I dedicated extra time and effort to improve and familiarize myself with the processes — all in order to keep up with the tight timeline for completing my final project. As a result, there hasn’t been much visible progress made on my final project this week, but the learning and practice have been essential steps toward achieving it.
WEEK 09 – EXPLORING INPUT DEVICES
This week, I learned about input devices. I began thinking about which input method I should use for my final project to control and toggle the required functions. At the basic level, I only need a few push buttons to trigger different output actions. However, I have yet to finalize exactly how many switches will be necessary. Instead of using traditional physical buttons, I’m challenging myself to replace them with touch-sensitive pads, aiming for a sleeker and smoother final project surface. To achieve this, I am pushing myself to understand and master the concept of STEP RESPONSE, especially since we are not allowed to directly use a capacitive touch sensor module as a simple switch.
WEEK 10 – DETERMINING OUTPUT DEVICES FOR MY FINAL PROJECT
Following last week's decision on the input devices for triggering my project functions, this week I focused on finalizing the output devices needed to complete my final project. One major concern was the number of available GPIO pins I have. To clarify this, I consulted my instructor, Mr. Steven Chew. Here’s a summary of the pinout allocation: * Output Devices: o Neopixels (for lighting the music box) – 1 pin. o Bright LED (for projecting photos) – 1 pin. o Stepper Motor (to rotate the photo disc) – 2 or 4 pins. o Serial MP3 Player (for music playback) – 2 pins (must use Tx-Rx ports). * Input Devices: o Button Switch (for lighting control) – 1 pin. o Button Switch (for controlling both the bright LED and stepper motor) – 1 pin. o Button Switch (for MP3 player control) – 1 pin. In total, the pinout usage adds up to 11 pins, which fits perfectly with the available pins on my PCB. Based on this breakdown, I have started procuring the required components together with my Fab Academy partner, Florimond Chu, and began preparing my initial project modelling. Diagram below shows my initial system integration to make a musical box:
WEEK 11 – DILEMMA: WIRELESS CONTROL VS. PHYSICAL BUTTON SWITCHES
This week's topic focused on wireless control. For the individual assignment, I created a second PCB using the SEEED Xiao ESP32C3 micro-controller to meet the networking requirements, instead of modifying my first PCB (which uses the SEEED Xiao RP2040) that would have needed extra external components for compliance. Given that more physical contact points increase the risk of cable connection failures, I began considering the use of wireless remote control to manage the ON/OFF switching of my output devices. By doing so, I could free up the three PINOUTS initially reserved for button switches and potentially reassign them to other output functions if needed. For this week's assignment, I will test the feasibility of wireless control and compare it to using traditional physical button switches.
WEEK 12 – STEP INTO STEPPER MOTOR CODING
This week, as part of the Machine Building assignment, I had the chance to work on programming a stepper motor—an important component for my final project. Our team set out to build a coin sorter, which required a motor to drive the separator that lifts and directs coins onto the sorting track. I was assigned to design the coiling mechanism at the start of the sorter, which also meant I was in charge of writing the code to control the stepper motor. After over a week of facing and solving various challenges, we successfully completed our coin sorter. Through this experience, I learned how to run the stepper motor at a constant speed. Moving forward, my goal is to refine the motor control so it can rotate in specific steps and stop precisely — something I’ll need for the rotating photo disc in my final project.
MIDTERM BREAK
Although there were no scheduled classes this week (as it was mainly reserved for machine building), I didn’t take that as a chance to slack off. Instead, I focused on planning the system integration for my final project—a musical box. One of the key features involves displaying memorable photos. Originally, I had planned to use a simple LED projection method, but I came across a more creative and engaging alternative: The SPLITFLAP DISPLAY!. I instantly felt that this approach offered a more tangible and charming way to showcase my photo memories.
Aside from this update, the rest of the features remain the same: I will use a Serial MP3 Player to play songs and a Neopixel strip to add lighting effects. For inputs, I’ve planned to include three pushbuttons, as outlined in my Week 10 final project planning. Here is how my system integration has been revised after the change made on this week:
WEEK 13 – MOULDING AND CASTING SOMETHING
With limited time left to explore the remaining weekly assignments and also to review and refine previous tasks — both my individual work and the group project with my Fab Academy partner, Florimond Chu — I decided to use this week’s assignment to create button casings for my physical pushbuttons. This objective guided the direction of my moulding and casting process. The photo below is taken from my Week 13 individual assignment.
WEEK 14 – 3D PRINTING SAMPLE MODELS AND FINALIZING DESIGN OUTLOOK
After finalizing the concept of the split-flap display, I visited the MakerWorld website to explore existing models suitable for physical prototyping. By searching “split-flap display,” I discovered a practical design that uses a stepper motor instead of manual cranking. The model, titled “Simple Split Flap Display by Chipmunk54”, ), was chosen for 3D printing. It features a 28BYJ-48 stepper motor, and I tested it using a sample Arduino sketch previously used in my coin sorter project:
Following the initial test, I modified the design by extending the flap length from 35mm to 65mm—nearly doubling it. This was to evaluate the stepper motor’s capability to handle increased load and to observe stability while rotating (as longer flaps contribute more weight to the drum mechanism). See video below for the updated trial:
From the results, I realized that I may need to include a cantilever support on the opposite end of the drum to prevent sagging and minimize vibration during operation. Next, I began planning the overall dimensions of the musical box, guided by the following considerations: • Optimal photo display size – to determine the final dimensions of the split-flap assembly. • Component sizes – including the custom development board, speaker, Serial MP3 player, and 28BYJ-48 stepper motor – to estimate the internal "storage space" required. • Cable routing – to ensure clean wiring from the storage area to each component, and to avoid a tangled or cluttered setup inside the box.
WEEK 15 – FINALIZING SYSTEM DIAGRAM AND INTEGRATION
As outlined in the Week 15 assignment, we were required to present a clear system integration plan to our instructors, who would assess our readiness to complete the final project in time for the presentation deadline. Much of the work this week builds upon what I’ve previously documented in my Week 15 Individual Assignment. My final project integrates mechanical, electronic, and software components into a cohesive, functional system: • Mechanical System > Split-Flap Mechanism: A rotating drum with printed photo cards that flip mechanically. > Stepper Motor: Provides precise, controlled movement to rotate the photo display. > Frame Structure: Constructed using 3D-printed parts, acrylic, or plywood to house all components securely. • Electronic System > Microcontroller (SEEED XIAO RP2040): The core controller that manages all functionalities. > Stepper Motor Driver: Powers and controls the rotation of the split-flap display. > NeoPixels: Provide ambient lighting effects corresponding to the selected photo or mood. > Serial MP3 Player Module: Plays music tracks based on user interaction. > Physical Pushbuttons: Allow users to interact with the system (e.g., change photo, play music, toggle Neopixels). > Power Supply: Powers the stepper motor, Neopixels, MP3 player, and controller. • Software System (Firmware) > Motor Control Logic: Utilizes libraries like AccelStepper for precise rotation. > Audio Playback: Sends commands to the MP3 player to play audio from the SD card. > LED Control: Uses the NeoPixel library to produce lighting effects. > Input Handling: Reads button presses to trigger various actions. > Debounce Logic: Ensures accurate and reliable button detection. • System Flow Overview > User presses a button. > Microcontroller responds by: > Activating the stepper motor to rotate the split-flap. > Playing a music track via the MP3 module. > Lighting up the NeoPixels with ambient effects. > The system then waits for further user input or automatically resets after the music ends. Given that I have only 27 days to complete the project, I have drafted a time plan as follows: 1. 15th May – 18th May: a. Finalize the Bill of Materials (BOM) and component dimension table. b. Design and 3D print the negative mold for the pushbutton membrane (moulding and casting). 2. 19th May – 25th May: a. Design and fabricate a custom PCB tailored for this project. b. Begin integrating individual systems and developing the remaining code. c. Print stickers for photo cards used in the split-flap module. 3. 26th May – 1st June: a. Assemble all components into the final musical box frame. b. Upload all firmware and perform a full system test run. Throughout this period, I must consistently capture photos and videos of each step as part of my documentation. These assets will be essential for creating the required 1-minute video and 1-page project poster for the final presentation.
WEEK 16 – DECIDING HOW MANY OUTPUT DEVICES THAT I NEED FOR MY FINAL PROJECT
WEEK 17 – DECIDING HOW MANY OUTPUT DEVICES THAT I NEED FOR MY FINAL PROJECT
WEEK 18 – DECIDING HOW MANY OUTPUT DEVICES THAT I NEED FOR MY FINAL PROJECT